
// 例如input输入时 只有在手离开键盘两秒后才执行，而不是每次输入离开键盘都会执行

// 思路：设置一个timer定时器 并把他存储起来不会被回收 每当多次调用时则清除上一个timer 重新开始计时 时间达到才执行回调
// 解决方法 闭包存储timer
const debunceTs = (delay:number, callback:Function) => {
  let timer:any
  return function (val:any) {
    clearTimeout(timer as never)
    timer = setTimeout(() => {
      callback(val)
    }, delay)
  }
}